﻿namespace EyFramework.Library
{
    /// <summary>
    /// 容器窗体抽象接口
    /// </summary>
    public interface IMdiForm
    {
        /// <summary>
        /// 主程序中打开窗体
        /// 与主程序打开菜单类似，但也有不同，不同在于菜单是根据ID判断功能窗体是否已经存在，
        /// 当前函数打开窗体是判断窗体根据DLL的名称+窗体的名称判断是否同一个功能窗体
        /// </summary>
        /// <param name="dllName">DLL文件的名称</param>
        /// <param name="formName">打开窗体的名称</param>
        /// <param name="param">打开窗体的参数</param>
        void OpenForm(string menuName, string dllName, string formName, object[] param = null);

        /// <summary>
        /// 不管有没有已经打开一样的窗体，继续创建新的窗体
        /// </summary>
        void OpenAlwaysNewForm(string menuName, string dllName, string formName, object[] param = null);
        /// <summary>
        /// 打开窗体
        /// </summary>
        void ShowDialog();
    }
}